#define _CRT_SECURE_NO_WARNINGS
#include<iostream>

using namespace std;

//void Func(int a = 5)
//{
//	cout << "a=" << a << endl;
//}
//
//int main()
//{
//	Func();
//	Func(10);
//	return 0;
//}

//void Func(int a = 5,int b = 10,int c = 20)
//{
//	cout << "a=" << a << endl;
//	cout << "b=" << b << endl;
//	cout << "c=" << c << endl;
//}
//
//
//int main()
//{
//	Func();
//	Func(10);
//	Func(50, 100, 200);
//	return 0;
//}

//void Func(int a, int b = 10, int c = 20)
//{
//	cout << "a=" << a << endl;
//	cout << "b=" << b << endl;
//	cout << "c=" << c << endl;
//	printf("\n");
//}
//int main()
//{
//	Func(1);
//	Func(10);
//	Func(50, 100, 200);
//	return 0;
//}

//struct Stack
//{
//	int* a;
//	int top;
//	int capacity;
//};
//
//#include"Stack.h"
//void StackInit(struct Stack* pst,int defaultCapacity = 4)
//{
//	pst->a = (int*)malloc(sizeof(int) * defaultCapacity);
//	if (pst->a == NULL)
//	{
//		perror("malloc fail");
//		return;
//	}
//	pst->top = 0;
//	pst->capacity = defaultCapacity;
//}
//
//int main()
//{
//	Stack st;
//	StackInit(&st, 100);
//	return 0;
//}


//void Swap(int& x, int& y)
//{
//	int tmp = x;
//	x = y;
//	y = tmp;
//}
//
//
//void Swap1(int*& x, int*& y)
//{
//	int* tmp = x;
//	x = y;
//	y = tmp;
//}
//int main()
//{
//	/*int a = 1;
//	int& b = a;
//	int& c = b;
//
//	cout << b << endl;
//	cout << c << endl;*/
//
//	int a = 1, b = 2;
//	/*Swap(a, b);
//	cout << a << endl;
//	cout << b << endl;*/
//
//	int* pa = &a, * pb = &b;
//	cout << pa <<" "<<pb<< endl;
//	Swap1(pa, pb);
//	cout << pa << " " << pb << endl;
//	return 0;
//}

//void Swap3(int &a,int &b)
//{
//	int tmp = a;
//	a = b;
//	b = tmp;
//}
//int main()
//{
//	int a = 1;
//	int b = 2;
//	Swap3(a,b);
//	cout << a <<' ' << b << endl;
//}


